	format	MS COFF
	extrn	___bb_blitz_blitz
	extrn	___bb_drivers_drivers
	extrn	___bb_ui_editorui
	extrn	_bbEmptyArray
	extrn	_bbEmptyString
	extrn	_bbGCFree
	extrn	_bbNullObject
	extrn	_bbObjectClass
	extrn	_bbObjectCompare
	extrn	_bbObjectCtor
	extrn	_bbObjectFree
	extrn	_bbObjectNew
	extrn	_bbObjectRegisterType
	extrn	_bbObjectReserved
	extrn	_bbObjectSendMessage
	extrn	_bbObjectToString
	extrn	_bbOnDebugEnterScope
	extrn	_bbOnDebugEnterStm
	extrn	_bbOnDebugLeaveScope
	extrn	_bb_UIRect
	extrn	_brl_blitz_NullObjectError
	public	___bb_ui_widgets
	public	__bb_Widget_Delete
	public	__bb_Widget_New
	public	__bb_Widget_Set
	public	__bb_Widget_SetAll
	public	__bb_Widget_SetShape
	public	__bb_Widget_SetTitle
	public	__bb_Widget_Update
	public	_bb_Widget
	section	"code" code
___bb_ui_widgets:
	push	ebp
	mov	ebp,esp
	push	ebx
	cmp	dword [_85],0
	je	_86
	mov	eax,0
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
_86:
	mov	dword [_85],1
	push	ebp
	push	_83
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	call	___bb_blitz_blitz
	call	___bb_drivers_drivers
	call	___bb_ui_editorui
	push	_bb_Widget
	call	_bbObjectRegisterType
	add	esp,4
	mov	ebx,0
	jmp	_49
_49:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_New:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	push	ebp
	push	_101
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	push	dword [ebp-4]
	call	_bbObjectCtor
	add	esp,4
	mov	eax,dword [ebp-4]
	mov	dword [eax],_bb_Widget
	mov	edx,_bbNullObject
	inc	dword [edx+4]
	mov	eax,dword [ebp-4]
	mov	dword [eax+8],edx
	mov	edx,_bbNullObject
	inc	dword [edx+4]
	mov	eax,dword [ebp-4]
	mov	dword [eax+12],edx
	push	_bb_UIRect
	call	_bbObjectNew
	add	esp,4
	inc	dword [eax+4]
	mov	edx,dword [ebp-4]
	mov	dword [edx+16],eax
	mov	edx,_bbEmptyString
	inc	dword [edx+4]
	mov	eax,dword [ebp-4]
	mov	dword [eax+20],edx
	mov	edx,_bbEmptyArray
	inc	dword [edx+4]
	mov	eax,dword [ebp-4]
	mov	dword [eax+24],edx
	push	_92
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_95
	call	_brl_blitz_NullObjectError
_95:
	push	_bb_UIRect
	call	_bbObjectNew
	add	esp,4
	inc	dword [eax+4]
	mov	esi,eax
	mov	eax,dword [ebx+16]
	dec	dword [eax+4]
	jnz	_100
	push	eax
	call	_bbGCFree
	add	esp,4
_100:
	mov	dword [ebx+16],esi
	mov	ebx,0
	jmp	_52
_52:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_Delete:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
_55:
	mov	eax,dword [ebx+24]
	dec	dword [eax+4]
	jnz	_106
	push	eax
	call	_bbGCFree
	add	esp,4
_106:
	mov	eax,dword [ebx+20]
	dec	dword [eax+4]
	jnz	_108
	push	eax
	call	_bbGCFree
	add	esp,4
_108:
	mov	eax,dword [ebx+16]
	dec	dword [eax+4]
	jnz	_110
	push	eax
	call	_bbGCFree
	add	esp,4
_110:
	mov	eax,dword [ebx+12]
	dec	dword [eax+4]
	jnz	_112
	push	eax
	call	_bbGCFree
	add	esp,4
_112:
	mov	eax,dword [ebx+8]
	dec	dword [eax+4]
	jnz	_114
	push	eax
	call	_bbGCFree
	add	esp,4
_114:
	mov	eax,0
	jmp	_104
_104:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_SetShape:
	push	ebp
	mov	ebp,esp
	sub	esp,20
	push	ebx
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp+12]
	mov	dword [ebp-8],eax
	mov	eax,dword [ebp+16]
	mov	dword [ebp-12],eax
	mov	eax,dword [ebp+20]
	mov	dword [ebp-16],eax
	mov	eax,dword [ebp+24]
	mov	dword [ebp-20],eax
	push	ebp
	push	_139
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	push	_115
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_117
	call	_brl_blitz_NullObjectError
_117:
	mov	ebx,dword [ebx+16]
	cmp	ebx,_bbNullObject
	jne	_119
	call	_brl_blitz_NullObjectError
_119:
	mov	eax,dword [ebp-8]
	mov	dword [ebx+8],eax
	push	_121
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_123
	call	_brl_blitz_NullObjectError
_123:
	mov	ebx,dword [ebx+16]
	cmp	ebx,_bbNullObject
	jne	_125
	call	_brl_blitz_NullObjectError
_125:
	mov	eax,dword [ebp-12]
	mov	dword [ebx+12],eax
	push	_127
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_129
	call	_brl_blitz_NullObjectError
_129:
	mov	ebx,dword [ebx+16]
	cmp	ebx,_bbNullObject
	jne	_131
	call	_brl_blitz_NullObjectError
_131:
	mov	eax,dword [ebp-16]
	mov	dword [ebx+16],eax
	push	_133
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_135
	call	_brl_blitz_NullObjectError
_135:
	mov	ebx,dword [ebx+16]
	cmp	ebx,_bbNullObject
	jne	_137
	call	_brl_blitz_NullObjectError
_137:
	mov	eax,dword [ebp-20]
	mov	dword [ebx+20],eax
	mov	ebx,0
	jmp	_62
_62:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_SetAll:
	push	ebp
	mov	ebp,esp
	sub	esp,28
	push	ebx
	push	esi
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp+12]
	mov	dword [ebp-8],eax
	mov	eax,dword [ebp+16]
	mov	dword [ebp-12],eax
	mov	eax,dword [ebp+20]
	mov	dword [ebp-16],eax
	mov	eax,dword [ebp+24]
	mov	dword [ebp-20],eax
	mov	eax,dword [ebp+28]
	mov	dword [ebp-24],eax
	mov	eax,dword [ebp+32]
	mov	dword [ebp-28],eax
	push	ebp
	push	_159
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	push	_145
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_147
	call	_brl_blitz_NullObjectError
_147:
	push	dword [ebp-8]
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+56]
	add	esp,8
	push	_148
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	ebx,dword [ebp-4]
	cmp	ebx,_bbNullObject
	jne	_150
	call	_brl_blitz_NullObjectError
_150:
	push	dword [ebp-24]
	push	dword [ebp-20]
	push	dword [ebp-16]
	push	dword [ebp-12]
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+48]
	add	esp,20
	push	_151
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	esi,dword [ebp-4]
	cmp	esi,_bbNullObject
	jne	_153
	call	_brl_blitz_NullObjectError
_153:
	mov	ebx,dword [ebp-28]
	inc	dword [ebx+4]
	mov	eax,dword [esi+12]
	dec	dword [eax+4]
	jnz	_158
	push	eax
	call	_bbGCFree
	add	esp,4
_158:
	mov	dword [esi+12],ebx
	mov	ebx,0
	jmp	_71
_71:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_SetTitle:
	push	ebp
	mov	ebp,esp
	sub	esp,8
	push	ebx
	push	esi
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp+12]
	mov	dword [ebp-8],eax
	push	ebp
	push	_170
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	push	_162
	call	dword [_bbOnDebugEnterStm]
	add	esp,4
	mov	esi,dword [ebp-4]
	cmp	esi,_bbNullObject
	jne	_164
	call	_brl_blitz_NullObjectError
_164:
	mov	ebx,dword [ebp-8]
	inc	dword [ebx+4]
	mov	eax,dword [esi+20]
	dec	dword [eax+4]
	jnz	_169
	push	eax
	call	_bbGCFree
	add	esp,4
_169:
	mov	dword [esi+20],ebx
	mov	ebx,0
	jmp	_75
_75:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_Set:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	push	ebp
	push	_171
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	mov	ebx,0
	jmp	_78
_78:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__bb_Widget_Update:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	mov	eax,dword [ebp+8]
	mov	dword [ebp-4],eax
	push	ebp
	push	_172
	call	dword [_bbOnDebugEnterScope]
	add	esp,8
	mov	ebx,0
	jmp	_81
_81:
	call	dword [_bbOnDebugLeaveScope]
	mov	eax,ebx
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
	section	"data" data writeable align 8
	align	4
_85:
	dd	0
_84:
	db	"Widgets",0
	align	4
_83:
	dd	1
	dd	_84
	dd	0
_28:
	db	"Widget",0
_29:
	db	"Panel",0
_30:
	db	":maxgui.maxgui.TGadget",0
_31:
	db	"Parent",0
_32:
	db	"Pos",0
_33:
	db	":UIRect",0
_34:
	db	"Title",0
_35:
	db	"$",0
_36:
	db	"Gadgets",0
_37:
	db	"[]:maxgui.maxgui.TGadget",0
_38:
	db	"New",0
_39:
	db	"()i",0
_40:
	db	"Delete",0
_41:
	db	"SetShape",0
_42:
	db	"(i,i,i,i)i",0
_43:
	db	"SetAll",0
_44:
	db	"($,i,i,i,i,:maxgui.maxgui.TGadget)i",0
_45:
	db	"SetTitle",0
_46:
	db	"($)i",0
_47:
	db	"Set",0
_48:
	db	"Update",0
	align	4
_27:
	dd	2
	dd	_28
	dd	3
	dd	_29
	dd	_30
	dd	8
	dd	3
	dd	_31
	dd	_30
	dd	12
	dd	3
	dd	_32
	dd	_33
	dd	16
	dd	3
	dd	_34
	dd	_35
	dd	20
	dd	3
	dd	_36
	dd	_37
	dd	24
	dd	6
	dd	_38
	dd	_39
	dd	16
	dd	6
	dd	_40
	dd	_39
	dd	20
	dd	6
	dd	_41
	dd	_42
	dd	48
	dd	6
	dd	_43
	dd	_44
	dd	52
	dd	6
	dd	_45
	dd	_46
	dd	56
	dd	6
	dd	_47
	dd	_39
	dd	60
	dd	6
	dd	_48
	dd	_39
	dd	64
	dd	0
	align	4
_bb_Widget:
	dd	_bbObjectClass
	dd	_bbObjectFree
	dd	_27
	dd	28
	dd	__bb_Widget_New
	dd	__bb_Widget_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	__bb_Widget_SetShape
	dd	__bb_Widget_SetAll
	dd	__bb_Widget_SetTitle
	dd	__bb_Widget_Set
	dd	__bb_Widget_Update
_102:
	db	"Self",0
_103:
	db	":Widget",0
	align	4
_101:
	dd	1
	dd	_38
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	0
_93:
	db	"$BMXPATH/spaget/src/UI/Widgets.bmx",0
	align	4
_92:
	dd	_93
	dd	35
	dd	3
_140:
	db	"x",0
_141:
	db	"i",0
_142:
	db	"y",0
_143:
	db	"w",0
_144:
	db	"h",0
	align	4
_139:
	dd	1
	dd	_41
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	2
	dd	_140
	dd	_141
	dd	-8
	dd	2
	dd	_142
	dd	_141
	dd	-12
	dd	2
	dd	_143
	dd	_141
	dd	-16
	dd	2
	dd	_144
	dd	_141
	dd	-20
	dd	0
	align	4
_115:
	dd	_93
	dd	14
	dd	3
	align	4
_121:
	dd	_93
	dd	15
	dd	3
	align	4
_127:
	dd	_93
	dd	16
	dd	3
	align	4
_133:
	dd	_93
	dd	17
	dd	3
_160:
	db	"ttitle",0
_161:
	db	"pparent",0
	align	4
_159:
	dd	1
	dd	_43
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	2
	dd	_160
	dd	_35
	dd	-8
	dd	2
	dd	_140
	dd	_141
	dd	-12
	dd	2
	dd	_142
	dd	_141
	dd	-16
	dd	2
	dd	_143
	dd	_141
	dd	-20
	dd	2
	dd	_144
	dd	_141
	dd	-24
	dd	2
	dd	_161
	dd	_30
	dd	-28
	dd	0
	align	4
_145:
	dd	_93
	dd	23
	dd	3
	align	4
_148:
	dd	_93
	dd	24
	dd	3
	align	4
_151:
	dd	_93
	dd	25
	dd	3
	align	4
_170:
	dd	1
	dd	_45
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	2
	dd	_160
	dd	_35
	dd	-8
	dd	0
	align	4
_162:
	dd	_93
	dd	30
	dd	3
	align	4
_171:
	dd	1
	dd	_47
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	0
	align	4
_172:
	dd	1
	dd	_48
	dd	2
	dd	_102
	dd	_103
	dd	-4
	dd	0
